//导入网络请求的包
import {
    $http
} from '@escook/request-miniprogram'

uni.$http = $http
//请求根路径
$http.baseUrl = 'https://www.uinav.com'

//请求拦截器
$http.beforeRequest = function(options) {
    uni.showLoading({
        title: '数据加载中...'
    })
    // 判断请求的是否为有权限的 API 接口
    if (options.url.indexOf('/my/') !== -1) {
        // 为请求头添加身份认证字段
        options.header = {
            // 字段的值可以直接从 vuex 中进行获取
            Authorization: store.state.UserStore.token,
        }
    }
}
//响应拦截器
$http.afterRequest = function(result) {
    uni.hideLoading()
    const {
        data
    } = result
    //请求失败
    if (data.meta.status != 200) {
        return uni.showToast({
            title: '数据加载失败！',
            duration: 1500,
            icon: 'none',
        })
    }
    //请求成功
    uni.showToast({
        title: '数据加载成功！',
        duration: 1500,
        icon: 'none',
    })
}

// #ifndef VUE3
import Vue from 'vue'
import App from './App'

Vue.config.productionTip = false
App.mpType = 'app'

const app = new Vue({
    ...App
})
app.$mount()
// #endif


// #ifdef VUE3
import {
    createSSRApp
} from 'vue'
import App from './App.vue'
import store from '@/store/store.js'
import Vuex from "vuex";
export function createApp() {
    const app = createSSRApp(App)
    // 引入Vuex
    app.use(store)
    return {
        app,
        Vuex
    }
}
// #endif